|
FEXP Solver
1.0.0.0
|
Parallel solver for multicore CPUs (single workstation). More...
#include <FEXPSolver.h>


Public Member Functions | |
| CFEXPParallelSolver (Ptr< ICFEXPModelBuilderBase > builder, Ptr< ICFEXPResultExport > exporter) | |
| virtual void | Start () override |
| It starts process of a numerical simulation. More... | |
| virtual void | End () override |
| It provides forced ending of a numerical simulation process (not implemented yet). More... | |
| virtual void | AddModel (const t_ModelData &data) override |
| virtual void | RmvModel (const std::string &key) override |
| virtual t_fexpcommon_ct | GetCurrentDt () override |
| virtual void | SetCurrentDt (t_fexpcommon_ct dt) override |
| virtual Ptr< t_SerializedData > | GetSerializedData () override |
| virtual void | SetSerializedData (Ptr< t_SerializedData > data) override |
Public Member Functions inherited from ICFEXPSolverBase | |
| ICFEXPSolverBase (Ptr< ICFEXPModelBuilderBase > builder, Ptr< ICFEXPResultExport > exporter) | |
| virtual | ~ICFEXPSolverBase () |
Protected Types | |
| enum | ESynchronization { eSync1, eSync2, eSync3, eSync4, eSync5, eSync6, eSync7, eSync8, eSync9, eSync10, eSync11, eSyncCount } |
| using | t_ThrdInstGetter = std::function< Ptr< TThread >(size_t, Ptr< TThreadData >, bool)> |
Protected Member Functions | |
| void | Synchronize (ESynchronization barrier) |
| CFEXPParallelSolver (Ptr< ICFEXPModelBuilderBase > builder, Ptr< ICFEXPResultExport > exporter, size_t no_calc_threads, ESynchronization last_barrier, t_ThrdInstGetter thrd_inst_gttr) | |
| Ptr< TThread > | get_thread_instance (size_t id, Ptr< TThreadData > data, bool is_calc_thread) |
| void | thread_Calculation_function (size_t thread_id, Ptr< TThreadData > data) |
| Ptr< TExpCalc > | get_calculator (size_t thread_id) |
| void | update_model_mapping (size_t thread_id) |
| void | update_time_step (Ptr< TThreadData > data) |
| void | check_time_synchronization (Ptr< TThreadData > data) |
| void | try_export_calculation_results (Ptr< TThreadData > data, size_t thread_id) |
| bool | check_calculation_end (Ptr< TThreadData > data, size_t thread_id) |
Protected Member Functions inherited from ICFEXPSolverBase | |
| void | update_topology_map_for_contact () |
| Ptr< std::vector< Ptr< ICFEXPElementNodeBase > > > | check_node (const std::vector< t_fexpcommon_ct > &min_bound, const std::vector< t_fexpcommon_ct > &max_bound) |
Protected Attributes | |
| size_t | _threads |
| Ptr< TThreadData > | _thread_data |
| std::map< size_t, Ptr< TThread > > | _thread_map |
| std::map< size_t, Ptr< TExpCalc > > | _calculator_map |
| std::atomic_bool | _result_saved |
Protected Attributes inherited from ICFEXPSolverBase | |
| Ptr< t_KD_def_tree< ICFEXPElementNodeBase > > | _kd_tree_map |
| Ptr< ICFEXPModelBuilderBase > | _builder |
| Ptr< ICFEXPResultExport > | _exporter |
Parallel solver for multicore CPUs (single workstation).
|
protected |
|
protected |
| CFEXPParallelSolver< TExpCalc, TThreadData, TThread, Tbarrier, std::enable_if< std::is_base_of< ICFEXPExplicitCalcBase, TExpCalc >::value &&std::is_base_of< ICFEXPThreadDataBase, TThreadData >::value &&std::is_base_of< ICFEXPThreadBase, TThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >::CFEXPParallelSolver | ( | Ptr< ICFEXPModelBuilderBase > | builder, |
| Ptr< ICFEXPResultExport > | exporter | ||
| ) |
|
protected |
|
inlineoverridevirtual |
Implements ICFEXPSolverBase.
|
protected |
|
protected |
|
inlineoverridevirtual |
It provides forced ending of a numerical simulation process (not implemented yet).
Implements ICFEXPSolverBase.
|
inlineprotected |
|
protected |
|
inlineoverridevirtual |
Implements ICFEXPSolverBase.
|
inlineoverridevirtual |
Implements ICFEXPSolverBase.
|
inlineoverridevirtual |
Implements ICFEXPSolverBase.
|
inlineoverridevirtual |
Implements ICFEXPSolverBase.
|
inlineoverridevirtual |
Implements ICFEXPSolverBase.
|
overridevirtual |
It starts process of a numerical simulation.
Implements ICFEXPSolverBase.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |